package org.grc.app.z_project.z_framework.bean;

import java.util.Map;

import org.grc.app.z_project.z_framework.util.CastUtil;
import org.grc.app.z_project.z_framework.util.CollectionUtil;

/**
 * 请求参数对象
 * 
 * @author grc
 * @since 1.0-SNAPSHOT
 */
public class Param {

	/*
	 * 在 Param类中，会有一系列的 get方法，可通过参数名获取指定类型的参数值，也可以获取所有参数的 Map结构。
	 */
	
	/**
	 * 
	 */
	private Map<String, Object> paramMap = null;
	
	public Param (Map<String, Object> paramMap) {
		this.paramMap = paramMap;
	}
	
	/**
	 * 根据参数名获取 long型参数值
	 */
	public long getLong (String name) {
		return CastUtil.castLong(paramMap.get(name));
	}
	
	/**
	 * 获取所有字段信息
	 */
	public Map<String, Object> getMap () {
		return paramMap;
	}
	
	/**
	 * 验证参数是否为空
	 */
	public boolean isEmpty () {
		return paramMap.isEmpty();
	}
}
